home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / g_quake / server1.zip / _SKIN.QC < prev    next >
Text File  |  1996-09-07  |  5KB  |  129 lines

  1. /*
  2. **
  3. ** _skin.qc (Skin Code, 1.2)
  4. **
  5. ** Copyright (C) 1996 Johannes Plass
  6. ** 
  7. ** This program is free software; you can redistribute it and/or modify
  8. ** it under the terms of the GNU General Public License as published by
  9. ** the Free Software Foundation; either version 2 of the License, or
  10. ** (at your option) any later version.
  11. ** 
  12. ** This program is distributed in the hope that it will be useful,
  13. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. ** GNU General Public License for more details.
  16. **
  17. ** You should have received a copy of the GNU General Public License
  18. ** along with this program; if not, write to the Free Software
  19. ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. ** 
  21. ** Author:   Johannes Plass (plass@dipmza.physik.uni-mainz.de)
  22. **
  23. */
  24.  
  25. /*
  26. **  Please note that this file is based on Dennis Noordsij's
  27. **  (lnoordsi@inter.NL.net) Multiskin QuakeC patch. 
  28. **  Please visit Dennis Noordsij's QuakeC page at 
  29. **     http://web.inter.NL.net/users/L.J.Noordsij/qc.htm
  30. **  for further information on Multiskin and how to install it on the
  31. **  client side (that is, how to use it as a player).
  32. **  //#jp#
  33. */
  34.  
  35.  
  36. float max_skin = 18; // = number of skins - 1
  37.  
  38. void(entity player) SkinInfo =
  39. {
  40.    if (!USE_MODULE_SKIN) return;
  41. //                123456789#123456789#123456789#12345678
  42.    sprint(player,"# Multiskin: Allows to use other\n");
  43.    sprint(player,"  skins. Type 'help-skin' for help.\n");
  44. };
  45.  
  46. void(entity player) SkinInit =
  47. {
  48.    if (!USE_MODULE_SKIN) return;
  49.    stuffcmd(player,"alias skin-next \"impulse 200\";\n");
  50.    stuffcmd(player,"alias skin-prev \"impulse 201\";\n");
  51.    stuffcmd(player,"alias help-skin \"impulse 202\";\n");
  52. };
  53.  
  54. void(entity player) SkinHelp =
  55. {
  56.    if (!USE_MODULE_SKIN) return;
  57. //                123456789#123456789#123456789#12345678
  58.    sprint(player,"# Multiskin: Allows the use of other\n");
  59.    sprint(player,"  skins. Use the command 'skin-next'\n");
  60.    sprint(player,"  or 'skin-prev' to choose a skin.\n");
  61. };
  62.  
  63. void(entity player,float offset) SkinQuietlyUseOtherSkin =
  64. {
  65.    if (!USE_MODULE_SKIN) return;
  66.    player.skin = player.skin + offset;
  67.    if (player.skin <  0      ) player.skin = max_skin;
  68.    if (player.skin > max_skin) player.skin = 0;
  69.  
  70.    SkinSaveSkinInStatusFlag(player);
  71. };
  72.  
  73. void(entity player,float offset) SkinUseOtherSkin =
  74. {
  75.    if (!USE_MODULE_SKIN) return;
  76.    SkinQuietlyUseOtherSkin(player,offset);
  77.    SkinShowCurrentSkin(player);
  78. };
  79.  
  80. void(entity player) SkinShowCurrentSkin =
  81. {
  82.    local string m;
  83.  
  84.    if (!USE_MODULE_SKIN) return;
  85.  
  86.                                         //                        123456789#123456789#123  123456789#123456789#123
  87.         if (player.skin ==  0) m = "\n\nSkin 1:             \n\n\nTop20Skins: Soldier     \nMultiSkin:  Soldier     \n";
  88.    else if (player.skin ==  1) m = "\n\nSkin 2:             \n\n\nTop20Skins: Enforcer    \nMultiSkin:  Duke        \n";
  89.    else if (player.skin ==  2) m = "\n\nSkin 3:             \n\n\nTop20Skins: Toad        \nMultiSkin:  Toad        \n";
  90.    else if (player.skin ==  3) m = "\n\nSkin 4:             \n\n\nTop20Skins: Crusader    \nMultiSkin:  Stormtrooper\n";
  91.    else if (player.skin ==  4) m = "\n\nSkin 5:             \n\n\nTop20Skins: Hell Knight \nMultiSkin:  Maxx        \n";
  92.    else if (player.skin ==  5) m = "\n\nSkin 6:             \n\n\nTop20Skins: Terminator  \nMultiSkin:  Terminator  \n";
  93.    else if (player.skin ==  6) m = "\n\nSkin 7:             \n\n\nTop20Skins: Han Solo    \nMultiSkin:  Judge Dredd \n";
  94.    else if (player.skin ==  7) m = "\n\nSkin 8:             \n\n\nTop20Skins: Hitman      \nMultiSkin:  Camouflaged \n";
  95.    else if (player.skin ==  8) m = "\n\nSkin 9:             \n\n\nTop20Skins: Biosuit     \nMultiSkin:  Picard      \n";
  96.    else if (player.skin ==  9) m = "\n\nSkin 10:            \n\n\nTop20Skins: Delavar     \nMultiSkin:  Wizard      \n";
  97.    else if (player.skin == 10) m = "\n\nSkin 11:            \n\n\nTop20Skins: Predator    \nMultiSkin:  Predator    \n";
  98.    else if (player.skin == 11) m = "\n\nSkin 12:            \n\n\nTop20Skins: C3PO        \nMultiSkin:  Skeleton    \n";
  99.    else if (player.skin == 12) m = "\n\nSkin 13:            \n\n\nTop20Skins: Knight      \nMultiSkin:  Wan-Fu      \n";
  100.    else if (player.skin == 13) m = "\n\nSkin 14:            \n\n\nTop20Skins: Rollins     \nMultiSkin:  Rollins     \n";
  101.    else if (player.skin == 14) m = "\n\nSkin 15:            \n\n\nTop20Skins: Bossk       \nMultiSkin:  He-Man      \n";
  102.    else if (player.skin == 15) m = "\n\nSkin 16:            \n\n\nTop20Skins: Barbarian   \nMultiSkin:  Boba        \n";
  103.    else if (player.skin == 16) m = "\n\nSkin 17:            \n\n\nTop20Skins: Ogre        \nMultiSkin:  Superman    \n";
  104.    else if (player.skin == 17) m = "\n\nSkin 18:            \n\n\nTop20Skins: Zombie      \nMultiSkin:  NYPD Cop    \n";
  105.    else if (player.skin == 18) m = "\n\nSkin 19:            \n\n\nTop20Skins: Moleman     \nMultiSkin:  Women dude  \n";
  106.    else                        m = "";
  107.    centerprint(player,m);
  108. };
  109.  
  110. void(entity player) SkinRestoreSkinFromStatusFlag =
  111. {
  112.    if (!USE_MODULE_SKIN) return;
  113.  
  114.    self.skin = (self.player_status & 63488)/2048;
  115. };
  116.  
  117. void(entity player) SkinSaveSkinInStatusFlag =
  118. {
  119.    if (!USE_MODULE_SKIN) return;
  120.  
  121.    self.player_status = self.player_status - (self.player_status & 63488);
  122.    self.skin = (self.skin & 31);
  123.    self.player_status = self.player_status + 2048 * self.skin;
  124. };
  125.  
  126.  
  127.  
  128.  
  129.